#include "ledTest.h"

// D61 接上就亮
// D62- PC13 
//D63 -PC14
// D64 PC15
// D65 PA6

//1.led_gpio_init
//2.led_run_type
// 进入gpio.h文件进行查看高低电平代码 .c里面看参数
//3.定时器函数，实现delay 
//4.能不能实现灯的强弱输出 pwm

//5.按键？GPIO读 怎么看哪里口

// PD 13 14 15

void led_gpio_init(gpio_type *gpio_x, uint16_t pins,crm_periph_clock_type value){
  gpio_init_type gpio_init_struct;

  /* enable the gpioa clock */
  crm_periph_clock_enable(value, TRUE);

  /* set default parameter */
  gpio_default_para_init(&gpio_init_struct);

  /* configure the gpio */
  gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
  gpio_init_struct.gpio_out_type  = GPIO_OUTPUT_PUSH_PULL;
  gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
  gpio_init_struct.gpio_pins = pins;
  gpio_init_struct.gpio_pull = GPIO_PULL_NONE;
  gpio_init(gpio_x, &gpio_init_struct);

  // 拉高
  gpio_bits_write(gpio_x,pins,TRUE);

}


void flashLed(gpio_type *gpio_x, uint16_t pins){
    gpio_bits_set(gpio_x,pins);
    // mydelay(90000);
      delay_ms(300);
    gpio_bits_reset(gpio_x,pins);
    // mydelay(90000);
      delay_ms(300);
}

// 控制运行时间，然后换灯

void flashAllLedInTurn(){
  flashLed(GPIOD,GPIO_PINS_13);
  flashLed(GPIOD,GPIO_PINS_14);
  flashLed(GPIOD,GPIO_PINS_15);
}



void TurnOffLed(){
  GPIOD->scr = GPIO_PINS_13; //拉高
  GPIOD->scr = GPIO_PINS_14; //拉高
  GPIOD->scr = GPIO_PINS_15; //拉高
}

void TurnOn1Led(uint16_t pins){
  GPIOD->clr = pins; //拉低
  
}

void TurnOnAllLed(){
  TurnOn1Led(GPIO_PINS_13);
  TurnOn1Led(GPIO_PINS_14);
  TurnOn1Led(GPIO_PINS_15);

  
}
